home *** CD-ROM | disk | FTP | other *** search
/ Floppyshop 2 / Floppyshop - 2.zip / Floppyshop - 2.iso / art&graf.ix / art-0074 / qrt / piano.qrt < prev    next >
Text File  |  1997-04-16  |  16KB  |  551 lines

  1. { **   QRT image spec file for a baby grand piano with wood
  2.        grain.  This image requires QRT version 1.3 to run.
  3.  
  4.        { this tests nested comments { } - new to 1.3 }
  5.  
  6.        - Steve Koren  16 Jun 88
  7.                                                             ** }
  8.  
  9. FILE_NAME = piano.raw
  10.  
  11. PATTERN ( name = PIANO_LEG_CUTOUT { ** trapezoid shape for leg ** }
  12.           x_size = 10
  13.           y_size = 44
  14.           POLYGON (
  15.             point = (0, 0)
  16.             point = (2, 0)
  17.             point = (0, 44)
  18.             point = (0, 0)
  19.           )
  20.           POLYGON (
  21.             point = (8, 0)
  22.             point = (10, 0)
  23.             point = (10, 44)
  24.             point = (8, 0)
  25.           )
  26.         )
  27.  
  28. BEGIN_INSTANCES
  29.  
  30.   NAME = PIANO_LEG       { ** define an instance for this so we ** }
  31.   BEGIN_BBOX             { ** don't have to keep repeating the  ** }
  32.                          { ** parallelogram definitions         ** }
  33.     PARALLELOGRAM (
  34.       diff = (.5, .1, .1)
  35.       loc = (2, 0, 0)
  36.       v1  = (0, 0, 10)
  37.       v2  = (-2, 44, 0)
  38.       remove = PIANO_LEG_CUTOUT
  39.     )
  40.  
  41.     PARALLELOGRAM (
  42.       diff = (.5, .1, .1)
  43.       loc = (0, 0, 2)
  44.       v1  = (10, 0, 0)
  45.       v2  = (0, 44, -2)
  46.       remove = PIANO_LEG_CUTOUT
  47.     )
  48.  
  49.   END_BBOX
  50.  
  51. END_INSTANCES
  52.  
  53. PATTERN ( name    = STRINGS,
  54.           x_size  = 6,
  55.           y_size  = 5,
  56.           RECTANGLE (
  57.             diff    = (.9, .9, .9)
  58.             start_x = 0,
  59.             end_x   = 2.5
  60.             start_y = 0
  61.             end_y   = 5
  62.           )
  63.          )
  64.  
  65. PATTERN ( name    = WOOD_GRAIN,
  66.           x_size  = 10,
  67.           y_size  = 11,
  68.  
  69.           POLYGON (
  70.             diff  = (.43, .1, .1)
  71.             point = (1, 0)      point = (1.2, 1)
  72.             point = (1.4, 3)    point = (1.4, 4)
  73.             point = (.8, 5)     point = (.5, 6)
  74.             point = (.2, 7)     point = (.2, 8.4)
  75.             point = (.8, 10)    point = (1, 11)
  76.             point = (2, 11)     point = (1, 9)
  77.             point = (.6, 8)     point = (.7, 7)
  78.             point = (1.4, 6)    point = (1.8, 5)
  79.             point = (1.8, 3)    point = (2.2, 2)
  80.             point = (2.2, 1)    point = (2, 0)
  81.             point = (1, 0)
  82.           )
  83.           POLYGON (
  84.             diff  = (.44, .22, .1)
  85.             point = (1.8, 8)    point = (2, 7)
  86.             point = (2.5, 6)    point = (2.8, 5.2)
  87.             point = (3, 5)      point = (3.4, 5.4)
  88.             point = (3.4, 6)    point = (3.3, 7)
  89.             point = (3.8, 8)    point = (3.8, 9)
  90.             point = (3.4, 9.8)  point = (3, 10)
  91.             point = (2.4, 9.8)  point = (2, 9)
  92.             point = (1.8, 8)
  93.           )
  94.           POLYGON (
  95.             diff  = (.55, .41, .1)
  96.             point = (2.8, 7.2)  point = (3.1, 8)
  97.             point = (3.1, 9)    point = (3, 9.1)
  98.             point = (2.9, 9)    point = (2.6, 8.6)
  99.             point = (2.6, 8)    point = (2.8, 7.2)
  100.           )
  101.           POLYGON (
  102.             diff  = (.44, .22, .1)
  103.             point = (4, 0)      point = (3.6, .6)
  104.             point = (3, 2)      point = (3.6, 3)
  105.             point = (3.8, 4.6)  point = (4.2, 5)
  106.             point = (4.8, 8)    point = (3.6, 9)
  107.             point = (4, 11)     point = (5, 11)
  108.             point = (5.2, 10)   point = (5.2, 9)
  109.             point = (5.6, 7.5)  point = (5.4, 6)
  110.             point = (4, 4)      point = (4, 2)
  111.             point = (5, 0)      point = (4, 0)
  112.           )
  113.           POLYGON (
  114.             diff  = (.44, .27, .1)
  115.             point = (6, 0)      point = (6, .8)
  116.             point = (5.4, 2)    point = (5.4, 3)
  117.             point = (5.8, 5)    point = (6, 6)
  118.             point = (6.1, 8)    point = (6, 11)
  119.             point = (6.4, 11)   point = (6.6, 9)
  120.             point = (6.6, 8)    point = (6.8, 7)
  121.             point = (6.4, 5)    point = (6.4, 4)
  122.             point = (6, 3)      point = (6.4, 1)
  123.             point = (6.2, 0)    point = (6, 0)
  124.           )
  125.           POLYGON (
  126.             diff  = (.45, .2, .1)
  127.             point = (7.2, 0)    point = (7.2, 1)
  128.             point = (6.8, 2.2)  point = (7, 3.2)
  129.             point = (7.4, 3)    point = (7.8, 1)
  130.             point = (7.8, 0)    point = (7.2, 0)
  131.           )
  132.           POLYGON (
  133.             diff  = (.45, .2, .1)
  134.             point = (7.2, 11)   point = (7.4, 9)
  135.             point = (7.2, 8.6)  point = (7.2, 7.6)
  136.             point = (7.4, 7.6)  point = (7.9, 10)
  137.             point = (7.8, 11)   point = (7.2, 11)
  138.           )
  139.           POLYGON (
  140.             diff  = (.40, .14, .1)
  141.             point = (8.4, 0)    point = (8.6, 3)
  142.             point = (8.6, 4)    point = (8, 7)
  143.             point = (8.2, 8)    point = (8.2, 10)
  144.             point = (8.4, 11)   point = (9, 11)
  145.             point = (8.9, 8)    point = (9.4, 6)
  146.             point = (9.4, 4.4)  point = (9, 2.2)
  147.             point = (9, 0)
  148.           )
  149.         )
  150.  
  151. PATTERN ( name    = PIANO_TOP,
  152.           x_size  = 108,
  153.           y_size  = 85,
  154.  
  155.           POLYGON (
  156.             point = (0, 65)      { ** This is the part of the     }
  157.             point = (3, 74)      {    piano top to remove from    }
  158.             point = (8, 78)      {    a parallelogram          ** }
  159.             point = (14, 81)
  160.             point = (20, 83)
  161.             point = (42, 83)
  162.             point = (50, 80)
  163.             point = (56, 76)
  164.             point = (60, 70)
  165.             point = (63, 60)
  166.             point = (68, 48)
  167.             point = (80, 37)
  168.             point = (90, 30)
  169.             point = (100, 25)
  170.             point = (106, 20)
  171.             point = (108, 15)
  172.             point = (108, 85)
  173.             point = (0, 85)
  174.             point = (0, 65)
  175.           )
  176.         )
  177.  
  178. PATTERN ( name   = KEYBOARD,
  179.           x_size = 14,
  180.           y_size = 8,
  181.  
  182.           RECTANGLE (                  { ** C natural ** }
  183.             start_x = 0,    start_y = 0
  184.             end_x   = 1.9   end_y   = 8
  185.             diff    = (.9, .9, .9)
  186.             amb     = (.4, .4, .4)
  187.           )
  188.  
  189.           RECTANGLE (                  { ** D natural ** }
  190.             start_x = 2,    start_y = 0
  191.             end_x   = 3.9   end_y   = 8
  192.             diff    = (.9, .9, .9)
  193.             amb     = (.4, .4, .4)
  194.           )
  195.  
  196.           RECTANGLE (                  { ** E natural ** }
  197.             start_x = 4,    start_y = 0
  198.             end_x   = 5.9   end_y   = 8
  199.             diff    = (.9, .9, .9)
  200.             amb     = (.4, .4, .4)
  201.           )
  202.  
  203.           RECTANGLE (                  { ** F natural ** }
  204.             start_x = 6,    start_y = 0
  205.             end_x   = 7.9   end_y   = 8
  206.             diff    = (.9, .9, .9)
  207.             amb     = (.4, .4, .4)
  208.           )
  209.  
  210.           RECTANGLE (                  { ** G natural ** }
  211.             start_x = 8,    start_y = 0
  212.             end_x   = 9.9   end_y   = 8
  213.             diff    = (.9, .9, .9)
  214.             amb     = (.4, .4, .4)
  215.           )
  216.  
  217.           RECTANGLE (                  { ** A natural ** }
  218.             start_x = 10,    start_y = 0
  219.             end_x   = 11.9   end_y   = 8
  220.             diff    = (.9, .9, .9)
  221.             amb     = (.4, .4, .4)
  222.           )
  223.  
  224.           RECTANGLE (                  { ** B natural ** }
  225.             start_x = 12,    start_y = 0
  226.             end_x   = 13.9   end_y   = 8
  227.             diff    = (.9, .9, .9)
  228.             amb     = (.4, .4, .4)
  229.           )
  230.  
  231.           RECTANGLE (                  { ** C sharp ** }
  232.             start_x = 1,   start_y = 3
  233.             end_x   = 1.9, end_y   = 8
  234.             diff    = (0, 0, 0)
  235.           )
  236.  
  237.           RECTANGLE (                  { ** D sharp ** }
  238.             start_x = 3,   start_y = 3
  239.             end_x   = 3.9, end_y   = 8
  240.             diff    = (0, 0, 0)
  241.           )
  242.  
  243.           RECTANGLE (                  { ** F sharp ** }
  244.             start_x = 7,   start_y = 3
  245.             end_x   = 7.9, end_y   = 8
  246.             diff    = (0, 0, 0)
  247.           )
  248.  
  249.           RECTANGLE (                  { ** G sharp ** }
  250.             start_x = 9,   start_y = 3
  251.             end_x   = 9.9, end_y   = 8
  252.             diff    = (0, 0, 0)
  253.           )
  254.  
  255.           RECTANGLE (                  { ** A sharp ** }
  256.             start_x = 11,   start_y = 3
  257.             end_x   = 11.9, end_y   = 8
  258.             diff    = (0, 0, 0)
  259.           )
  260.         )
  261.  
  262. PATTERN ( x_size = 30,                 { ** Striped pattern ** }
  263.           y_size = 30,
  264.           name   = STRIPE,
  265.  
  266.           RECTANGLE (
  267.             start_x = 0,
  268.             start_y = 0,
  269.             end_x   = 30,
  270.             end_y   = 5,
  271.             diff    = (.1,.1,.1),
  272.           )
  273.         )
  274.  
  275.  
  276. { *********************  OBJECTS  ********************* }
  277.  
  278. { ** ground ** }
  279.  
  280. PARALLELOGRAM ( loc  = (  -10000, 0,  -10000),
  281.                 v1   = (  0, 0, 20000),
  282.                 v2   = (20000, 0,    0),
  283.  
  284.                 diff = ( 1, 1, 0),
  285.                 pattern = STRIPE
  286.                 xmult = 2
  287.                 ymult = 2
  288.               )
  289.  
  290. PARALLELOGRAM ( loc     = (150, 40, -50)
  291.                 v1      = (0, 0, 108)
  292.                 v2      = (85, 0, 0)
  293.                 remove  = PIANO_TOP,
  294.                 diff    = (.2, .2, .2)
  295.                 pattern = STRINGS
  296.                 xmult   = .5
  297.                )
  298.  
  299. { ** piano top ** }
  300.  
  301. PARALLELOGRAM ( loc     = (150, 50, -50),
  302.                 v1      = (0, 50, 95.73),
  303.                 v2      = (85, 0, 0),
  304.                 remove  = PIANO_TOP,
  305.                 diff    = (.55, .41, .1),
  306.                 dither  = 4,
  307.                 pattern = WOOD_GRAIN
  308.                 xmult   = 1.5
  309.                 ymult   = 1.5
  310.               )
  311.  
  312. { ** Piano sides ** }
  313.  
  314. BEGIN_BBOX
  315.  
  316.   BEGIN_BBOX
  317.  
  318.     PARALLELOGRAM ( loc  = (150, 40, -50)
  319.                     v1   = (0, 10, 0)
  320.                     v2   = (65, 0, 0)
  321.                     diff = (.55, .41, .1)
  322.                     pattern = WOOD_GRAIN
  323.                   )
  324.  
  325.     PARALLELOGRAM ( loc  = (215, 40, -50)
  326.                     v1   = (0, 10, 0)
  327.                     v2   = (9, 0, 3)
  328.                     diff = (.55, .41, .1)
  329.                     pattern = WOOD_GRAIN
  330.                   )
  331.  
  332.     PARALLELOGRAM ( loc  = (224, 40, -47)
  333.                     v1   = (0, 10, 0)
  334.                     v2   = (4, 0, 5)
  335.                     diff = (.55, .41, .1)
  336.                     pattern = WOOD_GRAIN
  337.                   )
  338.   END_BBOX
  339.  
  340.   BEGIN_BBOX
  341.  
  342.     PARALLELOGRAM ( loc  = (228, 40, -42)
  343.                     v1   = (0, 10, 0)
  344.                     v2   = (3, 0, 6)
  345.                     diff = (.55, .41, .1)
  346.                     pattern = WOOD_GRAIN
  347.                   )
  348.  
  349.     BEGIN_BBOX
  350.       PARALLELOGRAM ( loc  = (231, 40, -36)
  351.                       v1   = (0, 10, 0)
  352.                       v2   = (2, 0, 6)
  353.                       diff = (.55, .41, .1)
  354.                       pattern = WOOD_GRAIN
  355.                     )
  356.  
  357.       PARALLELOGRAM ( loc  = (233, 40, -30)
  358.                       v1   = (0, 10, 0)
  359.                       v2   = (0, 0, 22)
  360.                       diff = (.55, .41, .1)
  361.                       pattern = WOOD_GRAIN
  362.                     )
  363.     END_BBOX
  364.  
  365.     PARALLELOGRAM ( loc  = (233, 40, -8)
  366.                     v1   = (0, 10, 0)
  367.                     v2   = (-3, 0, 8)
  368.                     diff = (.55, .41, .1)
  369.                     pattern = WOOD_GRAIN
  370.                   )
  371.  
  372.   END_BBOX
  373.  
  374. END_BBOX
  375.  
  376. BEGIN_BBOX
  377.  
  378.   BEGIN_BBOX
  379.  
  380.     PARALLELOGRAM ( loc  = (230, 40, 0)
  381.                     v1   = (0, 10, 0)
  382.                     v2   = (-4, 0, 6)
  383.                     diff = (.55, .41, .1)
  384.                     pattern = WOOD_GRAIN
  385.                   )
  386.  
  387.     PARALLELOGRAM ( loc  = (226, 40, 6)
  388.                     v1   = (0, 10, 0)
  389.                     v2   = (-6, 0, 4)
  390.                     diff = (.55, .41, .1)
  391.                     pattern = WOOD_GRAIN
  392.                   )
  393.  
  394.     PARALLELOGRAM ( loc  = (220, 40, 10)
  395.                     v1   = (0, 10, 0)
  396.                     v2   = (-10, 0, 3)
  397.                     diff = (.55, .41, .1)
  398.                     pattern = WOOD_GRAIN
  399.                   )
  400.  
  401.   END_BBOX
  402.  
  403.   BEGIN_BBOX
  404.  
  405.     PARALLELOGRAM ( loc  = (210, 40, 13)
  406.                     v1   = (0, 10, 0)
  407.                     v2   = (-12, 0, 5)
  408.                     diff = (.55, .41, .1)
  409.                     pattern = WOOD_GRAIN
  410.                   )
  411.  
  412.     BEGIN_BBOX
  413.       PARALLELOGRAM ( loc  = (198, 40, 18)
  414.                       v1   = (0, 10, 0)
  415.                       v2   = (-11, 0, 12)
  416.                       diff = (.55, .41, .1)
  417.                       pattern = WOOD_GRAIN
  418.                     )
  419.  
  420.       PARALLELOGRAM ( loc  = (187, 40, 30)
  421.                       v1   = (0, 10, 0)
  422.                       v2   = (-7, 0, 10)
  423.                       diff = (.55, .41, .1)
  424.                       pattern = WOOD_GRAIN
  425.                     )
  426.     END_BBOX
  427.  
  428.     PARALLELOGRAM ( loc  = (180, 40, 40)
  429.                     v1   = (0, 10, 0)
  430.                     v2   = (-5, 0, 10)
  431.                     diff = (.55, .41, .1)
  432.                     pattern = WOOD_GRAIN
  433.                   )
  434.   END_BBOX
  435.  
  436.   BEGIN_BBOX
  437.  
  438.     PARALLELOGRAM ( loc  = (175, 40, 50)
  439.                     v1   = (0, 10, 0)
  440.                     v2   = (-5, 0, 6)
  441.                     diff = (.55, .41, .1)
  442.                     pattern = WOOD_GRAIN
  443.                   )
  444.  
  445.     PARALLELOGRAM ( loc  = (170, 40, 56)
  446.                     v1   = (0, 10, 0)
  447.                     v2   = (-5, 0, 2)
  448.                     diff = (.55, .41, .1)
  449.                     pattern = WOOD_GRAIN
  450.                   )
  451.  
  452.     PARALLELOGRAM ( loc  = (165, 40, 58)
  453.                     v1   = (0, 10, 0)
  454.                     v2   = (-15, 0, 0)
  455.                     diff = (.55, .41, .1)
  456.                     pattern = WOOD_GRAIN
  457.                   )
  458.  
  459.   END_BBOX
  460.  
  461. END_BBOX
  462.  
  463. BEGIN_BBOX
  464.  
  465.   BEGIN_BBOX
  466.     { ** keyboard ** }
  467.  
  468.     PARALLELOGRAM ( loc    = (140, 44, -45)
  469.                     v1     = (0, 0, 98)
  470.                     v2     = (8, 0, 0)
  471.                     pattern= KEYBOARD
  472.                     diff   = (0, 0, 0)
  473.                   )
  474.     { ** boarder for keyboard ** }
  475.  
  476.     PARALLELOGRAM ( loc    = (138, 43.95, -50)
  477.                     v1     = (0, 0, 108)
  478.                     v2     = (12, 0, 0)
  479.                     diff   = (.55, .41, .2)
  480.                   )
  481.  
  482.   END_BBOX
  483.  
  484.   PARALLELOGRAM ( loc    = (150, 44, -50)
  485.                   v1     = (0, 0, 108)
  486.                   v2     = (0, 6, 0)
  487.                   diff   = (.55, .41, .2)
  488.                   pattern = WOOD_GRAIN
  489.                 )
  490.  
  491.   PARALLELOGRAM ( loc    = (138, 40, -50)
  492.                   v1     = (0, 0, 108)
  493.                   v2     = (0, 4, 0)
  494.                   diff   = (.55, .41, .1)
  495.                 )
  496.  
  497.   PARALLELOGRAM ( loc    = (138, 40, -50)
  498.                   v1     = (12, 0, 0)
  499.                   v2     = (0, 4, 0)
  500.                   diff   = (.55, .41, .1)
  501.                 )
  502. END_BBOX
  503.  
  504. BEGIN_BBOX
  505.  
  506.   INSTANCE_OF ( name = PIANO_LEG       { ** three piano legs ** }
  507.                 pos  = (155, 0, -45)
  508.               )
  509.  
  510.   INSTANCE_OF ( name = PIANO_LEG
  511.                 pos  = (155, 0, 45)
  512.               )
  513. END_BBOX
  514.  
  515. INSTANCE_OF ( name = PIANO_LEG
  516.               pos  = (220, 0, -25)
  517.             )
  518.  
  519. { ** prop for top of piano ** }
  520.  
  521.   PARALLELOGRAM ( loc = (155, 50, 55)
  522.                   v1  = (3, 0, 0)
  523.                   v2  = (0, 43, -20)
  524.                   diff = (.55, .41, .1)
  525.                 )
  526. { ** An observer ** }
  527.  
  528. OBSERVER ( loc    = (75 , 85, -65),
  529.            lookat = (190, 30, 0)
  530.          )
  531.  
  532. { ** A lamp ** }
  533.  
  534. LAMP ( loc = (50, 120, -80),
  535.        radius = 5,
  536.        dist = 145
  537.      )
  538.  
  539. LAMP ( loc = (270, 120, 60)
  540.        radius = 5
  541.        dist   = 60
  542.      )
  543.  
  544. SKY  ( horiz  = (.1, .1, .65),
  545.        zenith = (.1, .1, .65),
  546.        dither = 1
  547.      )
  548.  
  549. FOC_LENGTH = 70
  550.  
  551.